.TH std::shared_ptr::unique 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::shared_ptr::unique \- std::shared_ptr::unique

.SH Synopsis
   bool unique() const noexcept;  (deprecated in C++17)
                                  (removed in C++20)

   Checks if *this is the only shared_ptr instance managing the current object, i.e.
   whether use_count() == 1.

.SH Parameters

   \fI(none)\fP

.SH Return value

   true if *this is the only shared_ptr instance managing the current object, false
   otherwise.

.SH Notes

   This function was deprecated in C++17 and removed in C++20 because use_count is only
   an approximation in multithreaded environment (see Notes in use_count).

.SH Example


// Run this code

 #include <iostream>
 #include <memory>

 int main()
 {
     auto sp1 = std::make_shared<int>(5);
     std::cout << std::boolalpha;
     std::cout << "sp1.unique() == " << sp1.unique() << '\\n';

     std::shared_ptr<int> sp2 = sp1;
     std::cout << "sp1.unique() == " << sp1.unique() << '\\n';
 }

.SH Output:

 sp1.unique() == true
 sp1.unique() == false

.SH See also

             returns the number of shared_ptr objects referring to the same managed
   use_count object
             \fI(public member function)\fP
